﻿//IChart.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

namespace StockSharp.Xaml
{
	using System;
	using System.Collections.Generic;

	using Ecng.Collections;
	using Ecng.Serialization;

	/// <summary>
	/// Интерфейс для работы с графиком.
	/// </summary>
	public interface IChart : IPersistable
	{
		/// <summary>
		/// Области графика.
		/// </summary>
		INotifyList<ChartArea> Areas { get; }

		/// <summary>
		/// Скроллировать автоматически области <see cref="Areas"/> при появлении новых данных. По-умолчанию включено.
		/// </summary>
		bool IsAutoScroll { get; set; }

		/// <summary>
		/// Сбросить отрисованные ранее значения элементов графика.
		/// </summary>
		/// <param name="elements">Элементы графика.</param>
		void Reset(IEnumerable<IChartElement> elements);

		/// <summary>
		/// Обработать новые данные.
		/// </summary>
		/// <param name="values">Новые данные.</param>
		void ProcessValues(IDictionary<DateTime, IDictionary<IChartElement, object>> values);
	}
}